"The Matrix" MfcSaver, v.2.0

Program by Pascal Lacroix aka NeuroS, (c) 1999.
From the original MfcSaver code by Ed Halley.
Comments to <neuros666@yahoo.com>

*	*	*

WHY?
~~~~
The screen saver distributed on the official site is
nothing but a bloody 2MB movie file, which doesn't even
look halfway like the original displays in the movie 
<barf>.

Another screen saver I've seen, which takes only 137K
-- graphics and program --, features genuine character
scrollling (not bitmap sliding like the official one) 
and uses DirectX. Impressive work, with only a few
downsides: no password protection, no config dialog and
poor -- if not absent -- movement randomness.

Since I am a fan of the movie, programming the screen
saver was just as much fun as it was a challenge. The
best scene of the movie to closely examine the matrix
code, in my opinion, is when Neo pays a visit to Cypher
during nightwatch. That was my main point of reference.


FEATURES
~~~~~~~~
* Display generated from multiple fonts, all configurable;
* Configurable character size;
* Configurable trail speed;
* Configurable trail lengths;
* Characters randomly changed in time, configurable;
* Supports password protection.


DOWNSIDES
~~~~~~~~~
* Uses the GDI (relatively slow);
* Display isn't anti-aliased;
* Character don't fade away as on the original display;
* Not-for-dummies configuration.


INSTALLATION
~~~~~~~~~~~~
1. Copy "The Matrix MFCSaver.scr" to your \Windows folder.
2. Copy all .ttf files to the \Windows\Fonts folder.
3. Open the Display Properties dialog, select "The Matrix
   MFCSaver" from the list, click the Settings button, and
   you're in business!


CONFIGURATION
~~~~~~~~~~~~~
Fonts:	
	In the "Font" combo box, pick the font you want to
	add to the "Selected Fonts" list, then press the
	"Add" button. To remove a font from the list, select
	it in the list and press the "Delete" button.

	Recommended fonts: 
	"PJ Katakana"		(japanese)
	"OCR A Extended"	("computer" font)

Point Size:	
	This value represents 10th's of a point, 
	e.g. For a 12-point font, the value is 120.

	Recommended values: between 100 and 175.

Update Interval:
	Number of milliseconds before a trail scrolls down.
	This time interval is picked randomly between the
	"Min" and "Max" values each time a trail is created.
	Hint: the smaller the interval, the faster the trail.

	Recommended values: Min = 3, Max = 20
	
Trail Length:
	Number of characters of which a trail is composed.
	Each time a trail is created, a value is picked
	between the "Min" and "Max" values, and squared,
	e.g. a value of 4 yields a length of 16, a value
	of 9 yields a length of 81.

	Recommended values: Min = 3, Max = 9

Randomization:
	At each interval of "Delay" milliseconds, "Chars"
	characters are changed on the screen. This adds the 
	feeling that the data dynamically changes.
	
	Recommended values: Chars = 75, Delay = 30

*	*	*

Comments to <neuros666@yahoo.com>
Enjoy!
